import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snscovid_confirmed = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')covid_deaths = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv')covid_recovered = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv')xxxxxxxxxxdisplay(covid_confirmed)xxxxxxxxxxcovid_confirmed['Province/State'].unique()xxxxxxxxxx# Since column Province/State is not all NAN, we will be keeping itcovid_confirmed.rename(columns = {'Province/State':'State', 'Country/Region':'Country'}, inplace=True)covid_deaths.rename(columns = {'Province/State':'State', 'Country/Region':'Country'}, inplace=True)covid_recovered.rename(columns = {'Province/State':'State', 'Country/Region':'Country'}, inplace=True)xxxxxxxxxxcovid_confirmed.iloc[:, 4:].sum()xxxxxxxxxx# Arranging by top most confirmed cases# possible answercovid_confirmed.sort_values('12/22/20', ascending=False).head(10).loc[:, ['Country', '12/22/20']]# ORcovid_confirmed.groupby(by='Country').sum().sort_values(by=['12/22/20'], ascending=False).head(10).loc[:, [ '12/22/20']]xxxxxxxxxxxxxxxxxxxxcovid_df = covid_confirmed.drop(['Lat', 'Long', 'State'], axis=1)covid_df = covid_df.groupby(['Country']).sum()xxxxxxxxxxcovid_df.sort_values(by=covid_df.columns[-1], ascending=False).head(10)x
# covid_df.sort_values(by=covid_df.columns[-1], ascending=False).head(10).plot()# plt.show()covid_df.sort_values(by=covid_df.columns[-1], ascending=False).head(10).transpose()xxxxxxxxxxcovid_df.sort_values(by=covid_df.columns[-1], ascending=False).head(10).transpose().plot(figsize=(15, 10))xxxxxxxxxx# !pip install cufflinksfrom plotly.offline import iplot, init_notebook_modeimport cufflinkscufflinks.go_offline(connected=False)init_notebook_mode(connected=False)xxxxxxxxxxcovid_df.sort_values(by=covid_df.columns[-1], ascending=False).head(10).transpose().iplot()xxxxxxxxxxcovid_deaths.groupby(['Country']).sum().sort_values(by=covid_deaths.columns[-1], ascending=False).head(10)xxxxxxxxxxcovid_deaths.groupby(['Country']).sum().sort_values(by=covid_deaths.columns[-1], ascending=False).head(10).transpose().iplot()xxxxxxxxxxcovid_recovered.groupby(['Country']).sum().sort_values(by=covid_recovered.columns[-1], ascending=False).head(10)xxxxxxxxxxcovid_recovered.groupby(['Country']).sum().sort_values(by=covid_recovered.columns[-1], ascending=False).head(10).transpose().iplot()xxxxxxxxxx# s0= covid_df.loc[covid_df.index=='US'].iteritems()# last=0# daily_new_us=list()# for tup in s0:# today=tup[1]['US']# change= today-last# daily_new_us.append(change)# last=tup[1]['US'] # daily_new_us=pd.Series(daily_new_us)# daily_new_us.iplot()xxxxxxxxxxcovid_df.loc['US'].diff().iplot(title='Daily confirmed cases in US', color='orange')xxxxxxxxxxMerging the three datasetsMerging the three datasets
xxxxxxxxxxconfirmed_world = covid_confirmed.drop(['State', 'Lat', 'Long'], axis=1).groupby(['Country']).sum()deaths_world = covid_deaths.drop(['State', 'Lat', 'Long'], axis=1).groupby(['Country']).sum()recovered_world = covid_recovered.drop(['State', 'Lat', 'Long'], axis=1).groupby(['Country']).sum()xxxxxxxxxxcovid_world = pd.DataFrame(confirmed_world.sum(), columns=['Confirmed'])covid_world['Deaths'] = deaths_world.sum()covid_world['Recovered'] = recovered_world.sum()covid_worldx
covid_world['Active'] = covid_world['Confirmed'] - covid_world['Deaths'] - covid_world['Recovered']covid_world['Fatality Rate'] = (covid_world['Deaths']/ covid_world['Confirmed']) * 100covid_world['Recovery Rate'] = (covid_world['Recovered']/ covid_world['Confirmed']) * 100# covid_world.style.background_gradient(cmap='Blues', subset=['Confirmed'])\# .background_gradient(cmap='Reds', subset=['Deaths'])\# .background_gradient(cmap='Greens', subset=['Recovered'])covid_world.iplot()xxxxxxxxxxcovid_world.iloc[:, -2].iplot(title='World Covid Fatality Rate')xxxxxxxxxxcovid_world.iloc[:, -1].iplot(title='World Covid Recovering Rate')xxxxxxxxxx# !pip install foliumimport folium# world_map = folium.Map(location=[10, 10], zoom_start=2, control_scale=True)# world_map# Remove nan in Lat colmuncovid_confirmed.drop(covid_confirmed[covid_confirmed['Lat'].isnull()].index, inplace=True) covid_confirmed.drop(covid_confirmed[covid_confirmed['Lat'].isnull()].index, inplace=True) covid_map = folium.Map(location = [15, 0], zoom_start = 2, control_scale= True, max_zoom= 8 , min_zoom= 1, tiles = 'CartoDB dark_matter')for i in range( 0, len(covid_confirmed)): folium.Circle(location = [covid_confirmed.iloc[i]['Lat'], covid_confirmed.iloc[i]['Long']], radius = (int(np.log(covid_confirmed.iloc[i, -1] + 1.00001))+0.1)*15000, tooltip = "<h5 style = 'text-align:center;font-weight: bold'>" + covid_confirmed.iloc[i]['Country']+ "</h5>"+ "<h6>Confirmed: "+str(covid_confirmed.iloc[i,-1])+"</h6>" "<h6>Deaths: "+str(covid_deaths.iloc[i,-1])+"</h6>", color = 'red', fill = True).add_to(covid_map)covid_mapxxxxxxxxxx# covid19_world = covid_confirmed[['Country', 'Lat', 'Long']]# covid19_world['Confirmed'] = covid_confirmed.iloc[:, -1]# covid19_world['Deaths'] = covid_deaths.iloc[:, -1]# covid19_world['Recovered'] = covid_recovered.iloc[:, -1]# covid19_world